window.addEventListener('load', function () {
    var arrowl = document.querySelector('.arrow-l');
    var arrowr = document.querySelector('.arrow-r');
    var focus = document.querySelector('.focus');
    //移动图片宽度
    var focusWidth = focus.offsetWidth;

    //控制左右按钮移动距离的全局变量
    var num = 0;
    //控制小圆圈以按钮点击，显示到第几张图
    var circle = 0;

    focus.addEventListener('mouseenter', function () {
        arrowl.style.display = 'block';
        arrowr.style.display = 'block';
        clearInterval(timer);
        //停止定时器并清空
        timer = null;
    });
    focus.addEventListener('mouseleave', function () {
        arrowl.style.display = 'none';
        arrowr.style.display = 'none ';
        timer = setInterval(function () {
            //手动调用点击事件
            arrowr.click();
        }, 2000)
    });

    //添加底部显示（圆圈）
    var ul = focus.querySelector('ul');
    var ol = focus.querySelector('.circle');
    console.log(ul.children.length);
    for (let i = 0; i < ul.children.length; i++) {
        var li = document.createElement('li');
        ol.appendChild(li);
        //可以在生成部分绑定排他思想
        //记录当前 li的索引号
        li.setAttribute('index', i)
        li.addEventListener('click', function () {
            //排他思想：干掉所有人留下我自己
            for (var i = 0; i < ol.children.length; i++) {
                ol.children[i].className = '';
            }
            this.className = 'current';
            //当我们点击小圆圈，对应的图片开始移动
            //图片移动距离就是 小圆圈索引 乘以 移动图片的宽度

            //当我们点击了li 要拿到当前li的索引号
            var index = this.getAttribute('index');
            //当我们 点击了li 就要把li的索引号给num,以免索引混乱出现BUG
            num = index;
            circle = index;
            console.log(index);
            animate(ul, -index * focusWidth)

        })
    }
    ol.children[0].className = 'current';



    //在右侧按钮之前 深拷贝第一张图片
    var first = ul.children[0].cloneNode(true);
    ul.appendChild(first);

    //节流阀 防止左右按钮点击过快
    var flag = true;
    //点击左右按钮，图片开始滚动
    arrowr.addEventListener('click', function () {
        if (flag) {
            flag = false;
            //如果走到了最后的复制的一张，此时我们的ul要快速 的复原left：0
            if (num == ul.children.length - 1) {
                ul.style.left = 0;
                num = 0;
            }
            num++;
            animate(ul, -num * focusWidth, function () {
                flag = true;
            });
            //点击右侧按钮，小圆圈随着一起变化
            circle++;
            //如果circle走到4 就说明走到了我们克隆那张图片了
            if (circle == ul.children.length - 1) {
                circle = 0;
            }
            //排他思想清除其余的current
            circleChange();
        }
    });

    //左侧按钮做法
    arrowl.addEventListener('click', function () {
        if (flag) {
            flag = false;
            //如果走到了最后的复制的一张，此时我们的ul要快速 的复原left：0
            if (num == 0) {
                num = ul.children.length - 1;
                ul.style.left = -num * focusWidth + 'px'; 
            }
            num--;
            animate(ul, -num * focusWidth, function () {
                flag = true;
            });
            //点击右侧按钮，小圆圈随着一起变化
            circle--;
            //如果circle走到4 就说明走到了我们克隆那张图片了
            if (circle < 0) {
                circle = ol.children.length - 1;
            }
            circleChange();
        }
    });
    //把一样的代码封装成函数
    function circleChange() {
        //排他思想清除其余的current
        for (var i = 0; i < ol.children.length; i++) {
            ol.children[i].className = '';
        }
        ol.children[circle].className = 'current';
    }

    //自动播放定时器
    var timer = setInterval(function () {
        //手动调用点击事件
        arrowr.click();
    }, 2000);


    // 动画效果
    
})